#!/bin/bash

archivedir="$HOME/.deleted-files"
realrm="$(which rm)"
copy="$(which cp) -R"

if [ $# -eq 0 ]; then
	exec $realrm #Оболочка заменяется /bin/rm
fi

# Проверка на наличие флага -f

flags=""

while getopts "dfiPRrvW" opt
do
	case $opt in
		f ) exec $realrm "$@" ;;
		* ) flags="$flags -$opt" ;;
	esac
done
shift $(( $OPTIND - 1 ))

# Основной сценарий

# Гарантируем наличие каталога archivedir

if [ ! -d $archivedir ]; then
	if [ ! -w $HOME ]; then
		echo "$0 ошибка: Невозможно создать $archivedir в $HOME" >&2
		exit 1
	fi
	mkdir $archivedir
	chmod 700 $archivedir # Ограничиваем доступ для других пользователей
fi

for arg
do
	newname="$archivedir/$(date +"%S.%M.%H.%d.%m")-$(basename "$arg")"
	if [ -f "$arg" -o -d "$arg" ]; then
		$copy "$arg" "$newname"
	fi
done
exec $realrm $flags "$@" #Текущий сценарий замещается командой realrm
